package com.opencloud.ywt.provider.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.opencloud.common.model.PageParams;
import com.opencloud.ywt.client.model.entity.*;
import java.util.List;

public interface BhyfStudentService {
    /**
     * 获取学生列表包括手环
     * @param gid
     * @param classid
     * @return
     */
    List<BhyfStudent> getBhyfStudentList(Integer gid,Integer gradenum, Integer classid,String studentname,Integer personid);

    /**
     * 获取班级区角列表
     * @param gid
     * @param classid
     * @return
     */
    List<BhyfBflAngle> getBhyfClassAngleList(Integer gid,Integer classid);

    /**
     * 获取区角的信标列表
     * @param angleid
     * @return
     */
    List<BhyfBflAngleBeacon> getBhyfClassAngleBeaconList(Integer angleid);

    /**
     * 根据信标获取区角信息
     * @param beacon
     * @return
     */
    List<BhyfBflAngle> getAngleByBeacon(String beacon);

    /**
     * 添加区角
     * @param entiy
     * @return
     */
    BhyfBflAngle addBhyfBflAngle(BhyfBflAngle entiy);

    /**
     * 更新区角
     * @param entiy
     * @return
     */
    Integer updateBhyfBflAngle(BhyfBflAngle entiy);

    /**
     * 获取班级睡眠统计数据列表
     * @param pageParams
     * @param startTime
     * @param endTime
     * @return
     */
    IPage<BhyfXhbSleepClass> findBhyfXhbSleepClassListPage(PageParams pageParams, String startTime, String endTime);

    /**
     * 获取学生每日睡眠统计数据列表
     * @param personid
     * @param startTime
     * @param endTime
     * @return
     */
    List<BhyfXhbSleepPerson> findBhyfXhbSleepPersonListPage(int personid, String startTime, String endTime);

    /**
     * 获取学生的关注列表
     * @param personid
     * @param status
     * @return
     */
    List<BhyfXhbWatch> findBhyfXhbWatchList(int personid,int status,int watchtype);

    /**
     * 分配区角信标
     * @param entiy
     * @return
     */
    Integer addBhyfBflAngleBeacon(BhyfBflAngleBeacon entiy);

    /**
     * 获取单个区角信息
     * @param id
     * @return
     */
    BhyfBflAngle getBhyfBflAngleById(Integer id);

    /**
     * 获取课程列表
     * @param gid
     * @return
     */
    List<BhyfBflCourse> findBhyfCourseList(int gid);

    /**
     * 获取时间段内学生的考勤列表
     * @param personid
     * @param startdate
     * @param enddate
     * @return
     */
    List<BhyfRecordRemark> getBhyfRecordRemarkList(int personid,String startdate,String enddate);

    /**
     * 获取时间段内学生的晨检列表
     * @param personid
     * @param startdate
     * @param enddate
     * @return
     */
    List<BhyfTempCheck> getBhyfTempCheckList(int personid,String startdate,String enddate);

    /**
     * 获取班级当日的学生的考勤列表
     * @param classid
     * @param checkdate
     * @return
     */
    List<BhyfRecordRemark> getBhyfRecordRemarkListByClass(int classid,String checkdate);

    /**
     * 获取班级当日的学生的晨检列表
     * @param classid
     * @param checkdate
     * @return
     */
    List<BhyfTempCheck> getBhyfTempCheckListByClass(int classid,String checkdate);

    /**
     * 获取园所刷卡日期分组统计结果
     * @param gid
     * @param startdate
     * @param enddate
     * @return
     */
    List<BhyfCardRecordDateResult> getGardenCardRecordGroupByDate(int gid,String startdate,String enddate);

    /**
     * 获取班级刷卡日期分组统计结果
     * @param startdate
     * @param enddate
     * @return
     */
    List<BhyfCardRecordDateResult> getClassCardRecordGroupByDate(int classid,String startdate,String enddate);

    /**
     * 获取园所刷卡班级分组统计
     * @param gid
     * @param startdate
     * @param enddate
     * @return
     */
    List<BhyfCardRecordClassResult> getGardenCardRecordGroupByClass(int gid,String startdate,String enddate);

    /**
     * 获取园所的班级分组的考勤和体温数据
     * @param gid
     * @param checkdate
     * @return
     */
    List<BhyfGardenData> getGardenDataGroupByClass(Integer gid,String checkdate);

    /**
     * 获取班级单日的考勤和体温列表
     * @param gid
     * @param classid
     * @param checkdate
     * @return
     */
    List<BhyfClassData> getClassDataListByDate(Integer gid,Integer classid,String checkdate);

    /**
     * 获取园所列表（关键字查询）
     * @param keyword
     * @return
     */
    List<BhyfGardenInfo> getGardenInfoList(String keyword, Integer provinceid,Integer gid);

    /**
     * 删除信标
     * @param entiy
     * @return
     */
    Integer deleteBhyfBflAngleBeacon(BhyfBflAngleBeacon entiy);


    List<BhyfBflAngleBeacon> isExistBeacon(Integer angleid,String beacon);

    List<BhyfStudent> getAllBhyfStudentList(Integer gid, Integer classid,String studentname,Integer personid);

    List<BhyfBdbWatchBattery> getWatchBatteryList(Integer gid, Integer classid,Integer personid,String starttime,String endtime);

    List<BhyfBdbBeaconBattery> getBeaconBatteryList(Integer gid, Integer classid,String starttime,String endtime);

    List<BhyfBdbWatchVersion> getWatchVersionList(Integer gid, Integer classid,Integer personid,String starttime,String endtime);

    List<BhyfBdbBeaconBattery> getBeaconBatteryLastList(Integer gid,String starttime,String endtime);

    List<BhyfBdbWatchBattery> getWatchBatteryLastList(String mac,String starttime,String endtime);

    List<BhyfBdbWatchBattery> getGardenBadBatteryWatchList(Integer gid, String starttime,String endtime);
}
